package com.miniapp.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.miniapp.entity.MiniUserEntity;
import com.miniapp.utils.R;

import java.math.BigDecimal;


/**
 * 系统用户
 * 
 * @author linyuchi
 * @date 2016年9月18日 上午9:43:39
 */
public interface MiniUserService extends BaseService<MiniUserEntity> , IService<MiniUserEntity> {

    /**
     * 通过用户名称查询信息
     * @param username
     * @return
     */
    MiniUserEntity findByUserName(String username);

    /**
     * 修改密码
     * @param userId       用户ID
     * @param password     原密码
     * @param newPassword  新密码
     */
    boolean updatePassword(Long userId, String password, String newPassword);


    /**
     * 用户保存
     */
    R saveUser(MiniUserEntity miniUser);

    /**
     * 加密金额
     * @param money 金额
     * @return 加密后的字符串
     */
    String encryptionMoney(BigDecimal money) ;

    /**
     * 检测金额是否合法
     * @param money 待检测金额
     * @param checkHashText 加密后的串
     * @return 是否合法
     */
    Boolean checkEncrptionMoney(BigDecimal money, String checkHashText);
    /**
     * 校验用户密码
     * @param user
     * @param oldPassword
     * @return
     */
    boolean checkPassword(MiniUserEntity user, String oldPassword);

    /**
     * 胖的用户手机号码是否存在
     * @param mobile
     * @return
     */
    boolean isMobileExist(String mobile);



    /**
     * 修改用户
     * @param userId
     * @param id
     * @param balance
     * @return
     */
    R updateBalance(Long userId, Long id, BigDecimal balance);
}
